home *** CD-ROM | disk | FTP | other *** search
/ PC Gamer (Italian) 36 / PC Gamer IT CD 36 2-2.iso / VIGDEMO / data1.cab / Assets / scripts / projlauncher.e < prev    next >
Text File  |  1998-09-21  |  5KB  |  694 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445. int Initialize(string type)
  446. {
  447.     global int state = 0;
  448.     global real repeatTime = 1.00;
  449.     global string gProjType = "grenade";
  450.     global int gGravity = 0;
  451.     global int gBulletCount = 20;
  452.     global int gClipSize = 5;
  453.     global int gStartSound = 7;
  454.     global int gProgressSound = 18;
  455.     global int gEndSound = -1;
  456.     global int gReloadSound = -1;
  457.     global real gMass = 5.0;
  458.         
  459.     
  460.  
  461.  
  462.  
  463.  
  464.     Reset("dummy");
  465.     return 0;
  466.  
  467. }
  468.  
  469. int Reset(string dummy)
  470. {
  471.     Animate(thisObject,0,"fire");
  472.     wakeupTime = 2.0;
  473.     gBulletCount = gClipSize;
  474.     SetStyle(thisObject,2);
  475.  
  476.     state = 0;
  477.     return 0;
  478. }
  479.  
  480. int startsound(string soundname)
  481. {
  482.     gStartSound = GetSoundIndex(soundname);
  483.  
  484. }
  485.  
  486. int endsound(string soundname)
  487. {
  488.     gEndSound = GetSoundIndex(soundname);
  489.  
  490. }
  491.  
  492. int progresssound(string soundname)
  493. {
  494.     gProgressSound = GetSoundIndex(soundname);
  495.  
  496. }
  497.  
  498. int reloadsound(string soundname)
  499. {
  500.     gReloadSound = GetSoundIndex(soundname);
  501.  
  502. }
  503.  
  504. int projtype(string str)
  505. {
  506.     gProjType = str;
  507. }
  508.  
  509. int repeattime(string str)
  510. {
  511.     repeatTime = Str2Real(str);
  512.     return 0;
  513. }
  514.  
  515. int gravity(string flag)
  516. {
  517.     int value;
  518.     value = Str2Int(flag);
  519.  
  520.     gGravity = value;
  521.     SetCollidableProperties(thisObject,gGravity,0);
  522. }
  523.  
  524. int clipsize(string count)
  525. {    
  526.     gClipSize = Str2Int(count);
  527.     gBulletCount = gClipSize;
  528. }
  529.  
  530. int GetMaxAmmo(string dummy)
  531. {
  532.     ReturnValue(thisObject, gClipSize);
  533. }
  534.  
  535. int addammo(string count)
  536. {
  537.     int value = Str2Int(count);
  538.     gBulletCount = gBulletCount + value;
  539. }
  540.  
  541. int reload(string count)
  542. {
  543.     int add;
  544.     add  = Str2Int(count);
  545.     if (add > 0)
  546.     {
  547.         PlaySound(thisObject,gReloadSound);
  548.         gBulletCount += add;
  549.     }
  550. }
  551.  
  552. int AmmoCount(string dum)
  553. {
  554.     ReturnValue(thisObject,gBulletCount);
  555. }
  556.  
  557. int SetBulletCount(int count)
  558. {
  559.     gBulletCount = count;
  560. }
  561.  
  562. int Drop(string dummy)
  563. {
  564.     int returnBullet;
  565.     SetScale(thisObject,2.0);
  566.     PlaySound(thisObject,38);
  567.     SetStyle(thisObject,2);
  568.  
  569.     ReturnValue(thisObject,0);
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582. }
  583.  
  584. int Draw(string ammoCount)
  585. {
  586.     gBulletCount = Str2Int(ammoCount);
  587. }
  588.  
  589. int Pickup(string dummy)
  590. {
  591.     ReturnValue(thisObject,gBulletCount);
  592.     gBulletCount = 0;    
  593. }
  594.  
  595. int Holster(string dummy)
  596. {
  597.     ReturnValue(thisObject,gBulletCount);
  598.     gBulletCount = 0;        
  599. }
  600.  
  601. int Colliders(string dummy) 
  602. {
  603.     
  604.     map::iterator ix;
  605.     map objInList;
  606.     int value;
  607.     print("proj 1");
  608.     objInList = Collisions(thisObject,0,1,0);
  609.     print("proj 2");
  610.  
  611.     for (ix = begin(objInList) ;ix != end(objInList); ++ix) 
  612.     {
  613.     print("proj 3");
  614.         value = AddObjectTo(first(dereference(ix)),thisObject);
  615.     print("proj 4");
  616.         if (value != 0)
  617.         {
  618.     print("proj 5");
  619.             PlaySound(thisObject,35);
  620.     print("proj 6");
  621.             SetScale(thisObject,1.0);
  622.     print("proj 7");
  623.             break;
  624.         }
  625.     }
  626.     
  627.     return 0;
  628. }
  629.  
  630. int GetFireTime(string dummy)
  631. {
  632.     ReturnValueReal(thisObject,repeatTime);
  633.     return 0;
  634. }
  635.  
  636. int FireFulfill(int hit)
  637. {
  638.     real time;
  639.     int theGrenade;
  640.     time = GetTime(thisObject);
  641.  
  642.     state = 2;
  643.     gBulletCount--;
  644.     Animate(thisObject,1,"fire");
  645.  
  646.     theGrenade = MakeProjectile(thisObject,gProjType);
  647.     LaunchMuzzleFlash(thisObject);
  648.  
  649.     ParentFire(thisObject);
  650.     if (theGrenade != 0)
  651.         Launch(thisObject,theGrenade,1,80.0,5.0);
  652.  
  653.     wakeupTime = time + repeatTime;
  654. }
  655.  
  656. int Fire(int flag)
  657. {
  658.     int result = 0;
  659.  
  660.     if (UnlimitedAmmo(thisObject) == 1)
  661.         gBulletCount = gClipSize;
  662.     if (state == 0) 
  663.     {
  664.  
  665.         {
  666.             if (gBulletCount >= 1)
  667.             {
  668.                 state = 2;
  669.                 FireSaveInfo(thisObject,1,gBulletCount,gMass);
  670.                 FireCommand(thisObject);
  671.  
  672.                 result = 1;
  673.             }
  674.             else
  675.             {
  676.                 ParentReloadCommand(thisObject);
  677.             }
  678.         }
  679.     }
  680.     ReturnValue(thisObject,result);    
  681.     return result;
  682. }
  683.  
  684. int TimedEvent(int input)
  685. {
  686.     Animate(thisObject,0,"fire");
  687.     PlaySound(thisObject,gEndSound);
  688.     state = 0;
  689.     wakeupTime = -1.0;
  690.     return 0;
  691. }
  692.  
  693.  
  694.